In many fields and industries, different types of data are collected and stored that are related to people (e.g., customers of a company, friends in a social network, etc.) or entities (e.g., individual stores of a retail chain, companies, schools, governments, or other institutions). Analyzing large amounts of data is important in numerous applications. One general approach to analyzing data, called clustering, involves segmenting the data into groups, or clusters, based on similarities and differences within the data.